%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 ft=erlang et

{application, rebar,
 [{description, "Rebar: Erlang Build Tool"},
  {vsn, "git"},
  {modules, []},
  {registered, []},
  {applications, [kernel,
                  stdlib,
                  sasl,
                  compiler,
                  crypto,
                  syntax_tools,
                  tools,
                  eunit,
                  common_test,
                  dialyzer,
                  public_key,
                  edoc,
                  snmp,
                  getopt,
                  erlware_commons,
                  providers,
                  bbmustache,
                  ssl_verify_fun,
                  certifi,
                  cth_readable,
                  relx,
                  cf,
                  inets,
                  eunit_formatters
                    % OTP 24 drops HiPE
                  | [hipe || _ <- [application:load(dialyzer)],
                            {ok, Apps} <- [application:get_key(dialyzer, applications)],
                            lists:member(hipe, Apps)]
                 ]},
  {env, [
        %% Default log level
        {log_level, warn},

        {resources, [{git, rebar_git_resource},
                     {git_subdir, rebar_git_subdir_resource},
                     {pkg, rebar_pkg_resource},
                     {hg, rebar_hg_resource}]},

        {compilers, [rebar_compiler_xrl, rebar_compiler_yrl,
                     rebar_compiler_mib, rebar_compiler_erl]},

        {providers, [rebar_prv_app_discovery,
                     rebar_prv_as,
                     rebar_prv_bare_compile,
                     rebar_prv_clean,
                     rebar_prv_common_test,
                     rebar_prv_compile,
                     rebar_prv_cover,
                     rebar_prv_deps,
                     rebar_prv_deps_tree,
                     rebar_prv_dialyzer,
                     rebar_prv_do,
                     rebar_prv_edoc,
                     rebar_prv_escriptize,
                     rebar_prv_eunit,
                     rebar_prv_get_deps,
                     rebar_prv_help,
                     rebar_prv_install_deps,
                     rebar_prv_local_install,
                     rebar_prv_local_upgrade,
                     rebar_prv_lock,
                     rebar_prv_new,
                     rebar_prv_packages,
                     rebar_prv_path,
                     rebar_prv_plugins,
                     rebar_prv_plugins_upgrade,
                     rebar_prv_release,
                     rebar_prv_relup,
                     rebar_prv_report,
                     rebar_prv_repos,
                     rebar_prv_shell,
                     rebar_prv_state,
                     rebar_prv_tar,
                     rebar_prv_unlock,
                     rebar_prv_update,
                     rebar_prv_upgrade,
                     rebar_prv_version,
                     rebar_prv_xref,
                     rebar_prv_alias]} % must run last to prevent overloads
        ]}
 ]}.
